home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 18
/
AMIGAplus Sonderheft 18 (1999)(ICP)(DE)[!].iso
/
Forum
/
MichaelRoth
/
3-3-99
/
subs
/
swapzeile.asm
< prev
next >
Wrap
Assembly Source File
|
1998-08-15
|
1KB
|
31 lines
; A0 -> Buffer
; D0 -> Länge des buffers
; Sub Register
; A5 Endadresse
; A2 Hilfsregister
; A1 Hilfsregister
move.l a0,a1
lea (a0,d0),a5
moveq #-1,d0
.loop
cmp.b #10,(a1)+ ; Auf CR prüfen
dbeq d0,.loop ;
neg d0 ; Wert negieren um echten Wert zu erhalten
sub.w #1,d0 ; wegen dem CR 1 abziehem
lsr.w #1,d0 ; durch 2 Teilen
sub.w #1,d0 ; DBcc schleife Initialisieren
lea -1(a1),a2 ; CR ausblenden
.loop2
move.b -(a2),d1 ; Zeichen am ende auslesen
move.b (a0),(a2) ; Zeichen austauschen
move.b d1,(a0)+ ; und leztes Zeichen an Anfang stellen
dbra d0,.loop2 ; Kopieren
move.l a1,a0 ;
btst #1,$bfe001
beq .exit
cmp.l a1,a5 ;
bhi.s .loop ;
.exit